package com.trainee.beans;

import java.util.List;

import javax.ejb.Local;

import com.trainee.entidades.Carro;
import com.trainee.entidades.DetalleCarro;
import com.trainee.entidades.Producto;
/**
 * Interfaz local del EJB ComprasBean.
 * @author tinet
 *
 */
@Local
public interface ComprasBeanLocal {
    public List<Producto> obtenerProductos(int p_paginaActual);
    public List<Producto> filtrarStockVacio(List<Producto> p_listadoProductos);
    public List<Carro> filtrarCompraFinalizada(List<Carro> p_listadoCarros);
    public List<Carro> obtenerCarros();
    public int verificarProductosCarro(String p_usuario);
    public String obtenerMensajeCantidadProductos(String p_usuario);
    public int obtenerMensajeCarroTotal(String p_usuario);
    public Carro obtenerCarroPorPersona(String p_usuario);
    public void agregarProductoAlCarro(String p_usuario, Producto p_producto);
    public List<DetalleCarro> obtenerDetallesDeCarro(Carro p_carro);
    public void crearCarro(String p_usuario);
    public void agregarProductoBD(Carro p_carro, Producto p_producto);
    public void agregarCantidadProducto(DetalleCarro p_detalle);
    public void crearDetalleProducto(Carro p_carro,Producto p_producto);
    public boolean verificarCarroInvitado();
    public void vaciarCarroInvitado();
    public Carro obtenerCarroInvitado();
    public List<Producto> obtenerProductosDeDetalles(List<DetalleCarro> p_detalle);
    public List<Producto> obtenerProductosDeCarro(String p_usuario);
    public int obtenerCantidadProducto(Producto producto, String p_usuario);
    public void quitarProductoCarro(String p_usuario, Producto p_producto);
    public void quitarCantidadProducto(DetalleCarro p_detalle);
    public void eliminarDetalleProducto(Carro p_carro, Producto p_producto);
    public int obtenerTotalProducto(String p_usuario, Producto p_producto);
    public void eliminarProductoEditar(String p_usuario, Producto p_producto);
    public boolean realizarRegistro(String nombreUsuario,String nombre,String apellido,String password);
    public boolean validarLogin(String p_nombreUsuario,String p_passwordLogin);
    public void setearCarroIngresado(String p_usuario);
    public boolean realizarCompraCarro(String p_usuario);
    public String obtenerNombreApellido(String p_usuario);    
}
